﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CreditoAutorizado.Dados.Entidades;
using CreditoAutorizado.Servico;

namespace CreditoAutorizado
{
    public partial class ExibirDetalhes : System.Web.UI.Page
    {
        private Cliente _clienteSelecionado;

        protected void Page_Load(object sender, EventArgs e)
        {
            int codigoCliente = int.Parse(Request.QueryString["ClienteId"].ToString());

            _clienteSelecionado = Fachada.GetInstancia().ObterClientePorId(codigoCliente);

            if (_clienteSelecionado != null)
            {
                CarregarDados();
            }            
        }

        private void CarregarDados()
        { 
            lblBairro.Text = _clienteSelecionado.Bairro;
            lblCelular.Text = _clienteSelecionado.Celular;
            lblCidade.Text = _clienteSelecionado.Cidade;
            lblCpf.Text = _clienteSelecionado.Cpf;
            lblDataCadastro.Text = _clienteSelecionado.DataCadastro.ToShortDateString();
            lblEmail.Text = _clienteSelecionado.Email;
            lblNome.Text = _clienteSelecionado.Nome;            
            lblNumero.Text = _clienteSelecionado.Numero;
            lblRua.Text = _clienteSelecionado.Rua;
            lblTelefone.Text = _clienteSelecionado.Telefone;

            CarregarGrid(Fachada.GetInstancia().ObterTodosDebitosPorCliente(_clienteSelecionado));

            if (_clienteSelecionado.Usuario != null)
            {
                lblNomeUsuario.Text = _clienteSelecionado.Usuario.Nome;
            }
        }

        private void CarregarGrid(IList<Debito> listaDebito)
        {
            if (listaDebito.Count > 0)
            {
                lblDebitoCliente.Visible = true;
                grvDebitos.DataSource = listaDebito;
                grvDebitos.DataBind();
            }
            else
            {
                lblDebitoCliente.Visible = false;
            }
        }

        protected void BtVoltar_Click(object sender, EventArgs e)
        {
            Response.Redirect(URLPages.ListagemClientes);
        }

        protected void BtCadastrarDebito_Click(object sender, EventArgs e)
        {
            Response.Redirect(URLPages.CadastroDebito + "?CLienteId=" + _clienteSelecionado.ClienteId);
        }
        
    }
}